yzqzss|一座桥在给房东打工 log
有哪些 repo 的 E2E 测试写得好的?我借鉴借鉴最佳实践。☺️ Go/Py 优先。
最后用了一个不知道算不算主流的 E2E 方法——用日志来做 E2E 测试。我想不出其它非侵入式的 E2E 做法了。
做法就是,测试时把主程序拉起来,让主程序把日志重定向到某个 socket。
测试套件连上 socket 拿到日志流,然后就是 assert 日志里有没有我们预期/不预期的内容。
这个方法好在不需要插桩或者 mock 任何东西。
然后为了拿到 coverage 和让 -race 之类的 go test 功能能覆盖到被测试的主程序,所以不能 execve 主程序的二进制起新进程。需要在 Test* 函数里调用主程序的入口函数来把主程序拉起来。
然后由于 go test 会把同一个 package 的 *_test.go 里的全部 Test* 函数都编译到同一个二进制、在同一个进程里跑测试,所以需要把每个 E2E test 写到不同的 package 里。
https://github.com/internetarchive/Zeno/pull/403
——
想知道这种做法另类吗,有先辈用过吗?
做法就是,测试时把主程序拉起来,让主程序把日志重定向到某个 socket。
测试套件连上 socket 拿到日志流,然后就是 assert 日志里有没有我们预期/不预期的内容。
这个方法好在不需要插桩或者 mock 任何东西。
然后为了拿到 coverage 和让 -race 之类的 go test 功能能覆盖到被测试的主程序,所以不能 execve 主程序的二进制起新进程。需要在 Test* 函数里调用主程序的入口函数来把主程序拉起来。
然后由于 go test 会把同一个 package 的 *_test.go 里的全部 Test* 函数都编译到同一个二进制、在同一个进程里跑测试,所以需要把每个 E2E test 写到不同的 package 里。
https://github.com/internetarchive/Zeno/pull/403
——
想知道这种做法另类吗,有先辈用过吗?
GitHub
WIP: E2E test by yzqzss · Pull Request #403 · internetarchive/Zeno
issue: #162
Baoshuo's Channel
#Blog: 从 CSS 字符串到 AST(一)—— 词法分析器(Lexer)的实现 https://blog.baoshuo.ren/post/css-lexer/
Blink 的底子真好,稍微优化一下就达到 0-allocation 了。
https://github.com/renbaoshuo/go-css-lexer/pull/1
https://github.com/renbaoshuo/go-css-lexer/pull/1
我忍不了 Firefox for Android 了。
用它7年8年了,变得越来越慢。
进步没有一点,退步一堆。
冷启动越来越慢。
页面加载比chromium慢一两倍。
切换tab动不动就白屏卡住。
加载慢就忍了,关键是离屏之后切回后,很大概率tab白屏重载,慢得要死。chromium 都知道tab的内存被系统回收后,先扔给用户个静态的 dom snapshot (“离线页面”)至少能看,而不是白屏。
而且对无障碍的支持根本没有任何进步, talkback 选中的组件跟屏幕上的东西完全错位,屏幕一滑,就啥也选不上了。(我用 talkback 只是因为懒得眼睛看网页)
用它7年8年了,变得越来越慢。
进步没有一点,退步一堆。
冷启动越来越慢。
页面加载比chromium慢一两倍。
切换tab动不动就白屏卡住。
加载慢就忍了,关键是离屏之后切回后,很大概率tab白屏重载,慢得要死。chromium 都知道tab的内存被系统回收后,先扔给用户个静态的 dom snapshot (“离线页面”)至少能看,而不是白屏。
而且对无障碍的支持根本没有任何进步, talkback 选中的组件跟屏幕上的东西完全错位,屏幕一滑,就啥也选不上了。(我用 talkback 只是因为懒得眼睛看网页)
😢7❤1👍1
发现一个各国各地区状况的资料,跟百科样好看——商务部《对外投资合作国别(地区)指南》。每年都更新,每份平均50-100页,去掉一堆投资相关的,剩下的内容算是浓缩的地区概览了。
https://fec.mofcom.gov.cn/article/gbdqzn/
https://fec.mofcom.gov.cn/article/gbdqzn/
❤1